package com.jf.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jf.blog.bean.Userinfo;
import com.jf.blog.form.LoginForm;
import com.jf.blog.form.userinfo.UserinfoExamForm;
import com.jf.blog.form.userinfo.UserinfoPasswordForm;
import com.jf.blog.form.userinfo.UserinfoUpdateForm;
import com.jf.blog.form.vip.VipAuthForm;
import com.jf.blog.form.vip.VipPasswordForm;
import com.jf.blog.form.vip.VipRegisterForm;
import com.jf.blog.form.vip.VipUpdateForm;
import com.jf.blog.util.ResultJson;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author JF
 * @since 2025-06-20
 */
public interface UserinfoService extends IService<Userinfo> {
    ResultJson login(LoginForm loginForm);

    void saveOrUpdate(UserinfoUpdateForm form);

    void exam(UserinfoExamForm form);

    void password(UserinfoPasswordForm form);

    void updateStatus(int userinfoId);

    void vipUpdate(VipUpdateForm form);

    void vipRegister(VipRegisterForm form);

    void vipAuth(VipAuthForm form);

    void vipPassword(VipPasswordForm form);

    ResultJson vipGetByUsername(String username);


    ResultJson getPage(int page, int limit, Userinfo userinfo);

    void deleteAdmin(List<Integer> userinfoIds);

    void deleteVip(List<Integer> userinfoIds);

}
